package com.ieasy.module.system.service;

import java.util.List;

import com.ieasy.basic.model.DataGrid;
import com.ieasy.basic.model.Msg;
import com.ieasy.module.system.web.form.HolidayCalForm;

public interface IHolidayCalService {
	
	public Msg add(HolidayCalForm form) ;
	
	public Msg delete(HolidayCalForm form) ;
	
	public Msg update(HolidayCalForm form) ;
	
	public HolidayCalForm get(String id) ;
	
	/**
	 * 获取指定年月的节假日
	 * @param yyyyMM
	 * @return
	 */
	public List<HolidayCalForm> getYearMonth4Holiday(String yyyyMM) ;
	/**
	 * 获取节假日
	 * 从指定开始日期到改月的月底的所有节假日
	 * 比如输入：2017-05-23
	 * 将获得：2017-05-23 到 2017-05-31的所有节假日
	 * @param yyyyMMdd
	 * @return
	 */
	public List<HolidayCalForm> getYearMonthDay4Holiday(String yyyyMMdd) ;
	
	/**
	 * 获取指定年月的补休
	 * @param yyyyMM
	 * @return
	 */
	public List<HolidayCalForm> getYearMonth4Deferred(String yyyyMM) ;
	
	/**
	 * 获取补休
	 * 从指定开始日期到改月的月底的所有补休
	 * 比如输入：2017-05-23
	 * 将获得：2017-05-23 到 2017-05-31的所有补休
	 * @param yyyyMMdd
	 * @return
	 */
	public List<HolidayCalForm> getYearMonthDay4Deferred(String yyyyMMdd) ;
	
	public DataGrid datagrid(HolidayCalForm form) ;

	/**
	 * 获取节假日,指定日期范围
	 * @param yyyyMMdd1 开始日期
	 * @param yyyyMMdd2 结束日期
	 * @return
	 */
	public List<HolidayCalForm> getYearMonthDayBetween4Holiday(String yyyyMMdd1, String yyyyMMdd2);

	/**
	 * 获取补休,指定日期范围
	 * @param yyyyMMdd1 开始日期
	 * @param yyyyMMdd2 结束日期
	 * @return
	 */
	public List<HolidayCalForm> getYearMonthDay4BetweenDeferred(String yyyyMMdd1, String yyyyMMdd2);
	
}
